
// 注意：这是一个vuex@3 的 module 对象，只能应用在Vue2项目中

import {getGoodsDetailInfo} from '@/api/Detail'

const state = {
    goodsDetailInfo:{}
}
const mutations = {
    UPDATE_GOODSDETAILINFO(state,goodsDetailInfo){
        state.goodsDetailInfo = goodsDetailInfo
    }
}
const actions = {
    async getGoodsDetailInfo({commit},skuId){
        const res = await getGoodsDetailInfo(skuId)
        if(res.code === 200){
            commit('UPDATE_GOODSDETAILINFO',res.data)
        }
    }
}
const getters = {
    // 路径导航的数据
    categoryView(state){
        // 当数据未返回时，设置默认值，防止组件中 从这个计算属性身上读取值，导致家报错
        return state.goodsDetailInfo.categoryView || {}
    },
    // 右侧商品描述 价格 数据
    skuInfo(state){
        return state.goodsDetailInfo.skuInfo || {}
    },
    // 右侧商品属性 数据
    spuSaleAttrList(state){
        return state.goodsDetailInfo.spuSaleAttrList || {}
    },
}

export default {
  state,
  mutations,
  actions,
  getters,
}
